Y is any array. R is an identical array except that character arrays within it are either folded for case-less comparison, or mapped to upper or lower case.
For a discussion of case folding and case conversion (mapping), see https://unicode.org/faq/casemap_charprop.html.
If the optional left-argument X is omitted, R is a copy of Y with character arrays folded, for case-less comparison.
If X is specified, the following cases are supported:
X | Description |
---|---|
1 | R is a copy of Y with character arrays mapped to upper case. |
¯1 | R is a copy of Y with character arrays mapped to lower case. |
¯3 | R is a copy of Y with character arrays folded, for case-less comparison (this is equivalent to monadic use). |
Examples
⎕C 42 'Pete' 'Πέτρος' 42 pete πέτροσ 1 ⎕C 42 'Pete' 'Πέτρος' 42 PETE ΠΈΤΡΟΣ ¯1 ⎕C 42 'Pete' 'Πέτρος' 42 pete πέτρος (⊂'pete'){⍺≡⎕C ⍵}¨'PETE' 'Pete' 'pEte' 1 1 1
Example
Greek has two forms of lower-case Sigma, namely "σ" and "ς" but a single upper-case Sigma "Σ". Each lower-case form remains unchanged when mapped to lower-case, but both fold to "σ", while "Σ" is mapped to lower-case "σ" .
⎕C 'ίσως' ίσωσ 1 ⎕C 'ίσως' ΊΣΩΣ ¯1⎕C 1 ⎕C 'ίσως' ίσωσ
Note:
Refs in Y are not followed but just returned unchanged.